#pragma once
#include "engine/Singleton.h"
#include "image/ImageLoader.h"
#include "image/PixelImage.h"

/****************************************************
  Abstract parent of image factory. Must implements
  it's subclass.
 ****************************************************/
class ImageFactory : public Singleton
{
public:
	ImageFactory(void);
	virtual ~ImageFactory(void);

        // Create an image loader to load image
	virtual ImageLoader * createImageLoader() = 0;
        // Create a pixel image
	virtual PixelImage * createPixelImage() = 0;
};

